iT邦幫忙

2024 iThome 鐵人賽

DAY 11
1
Mobile Development

用最接近自然語言的Basic30天學會行動App系列 第 11

Basic30天學會行動App-第11章.實作To-Do List App

  • 分享至 

  • xImage
  •  

第11章: 實作To-Do List App

在行動應用程式的開發中,To-Do List(待辦事項清單)是一個經典的應用範例,這個應用程式展示了如何設計資料結構、操作清單與項目,以及實現資料的增、刪、改、查功能。本章將指導你如何使用 B4A 來開發一個簡單且實用的 To-Do List 應用程式。

設計資料結構

在開發 To-Do List 應用程式之前,首先需要設計一個合適的資料結構來儲存待辦事項。每個待辦事項通常包括以下屬性:
• ID:唯一標識符,用於區分不同的待辦事項。
• Title:待辦事項的標題。
• Description:待辦事項的詳細描述(可選)。
• IsCompleted:標誌待辦事項是否已完成。
可以將這些資料存儲在一個列表中,每個待辦事項都作為一個字典或類別物件來處理。

Type ToDoItem (ID As Int, Title As String, Description As String, IsCompleted As Boolean)
Dim ToDoList As List
ToDoList.Initialize

在這個範例中,我們定義了一個名為 ToDoItem 的類型,並初始化了一個 ToDoList 列表來存儲所有的待辦事項。

操作清單與項目

接下來,我們將實現對待辦事項的操作,包括新增、刪除、更新和顯示待辦事項。

  1. 新增待辦事項
    要新增待辦事項,可以創建一個新的 ToDoItem 物件,然後將其加入到 ToDoList 中。
Sub AddToDoItem(title As String, description As String)
    Dim newItem As ToDoItem
    newItem.Initialize
    newItem.ID = ToDoList.Size + 1
    newItem.Title = title
    newItem.Description = description
    newItem.IsCompleted = False
    
    ToDoList.Add(newItem)
    Log("Added: " & newItem.Title)
End Sub

在這個範例中,我們創建了一個新的 ToDoItem 物件,並設置了其標題和描述。ID 是根據目前列表中的項目數量動態生成的。
2. 顯示待辦事項
要顯示待辦事項,我們可以遍歷 ToDoList,並將每個待辦事項的資訊輸出到日誌中或顯示在介面上。

Sub ShowToDoList
    For Each item As ToDoItem In ToDoList
        Log("ID: " & item.ID & ", Title: " & item.Title & ", Completed: " & item.IsCompleted)
    Next
End Sub

這段程式碼將所有待辦事項的 ID、標題和完成狀態輸出到日誌中。
3. 更新待辦事項
有時候,你需要更新待辦事項,例如更改標題或標記為已完成。

Sub UpdateToDoItem(id As Int, newTitle As String, newDescription As String, isCompleted As Boolean)
    For Each item As ToDoItem In ToDoList
        If item.ID = id Then
            item.Title = newTitle
            item.Description = newDescription
            item.IsCompleted = isCompleted
            Log("Updated: " & item.Title)
            Exit
        End If
    Next
End Sub

這段程式碼根據指定的 ID 更新待辦事項的標題、描述和完成狀態。
4. 刪除待辦事項
要刪除待辦事項,可以根據 ID 在列表中找到該項目,然後將其移除。

Sub DeleteToDoItem(id As Int)
    For i = 0 To ToDoList.Size - 1
        Dim item As ToDoItem = ToDoList.Get(i)
        If item.ID = id Then
            ToDoList.RemoveAt(i)
            Log("Deleted: " & item.Title)
            Exit
        End If
    Next
End Sub

這段程式碼根據待辦事項的 ID 找到並刪除該項目。

資料的增刪改查

To-Do List 應用程式的核心功能是對待辦事項的增、刪、改、查(CRUD)操作。這些操作可以分別通過以下方法來實現。

  1. 新增(Create)
    AddToDoItem 方法用來新增一個新的待辦事項到列表中。
AddToDoItem("購買牛奶", "記得買全脂牛奶")
  1. 查詢(Read)
    ShowToDoList 方法用來顯示所有的待辦事項。
ShowToDoList
  1. 更新(Update)
    UpdateToDoItem 方法用來更新指定待辦事項的內容。
UpdateToDoItem(1, "購買有機牛奶", "記得買有機全脂牛奶", False)
  1. 刪除(Delete)
    DeleteToDoItem 方法用來刪除指定的待辦事項。
DeleteToDoItem(1)

範例程式:簡單的To-Do List應用程式

以下是一個完整的範例程式,展示了如何將上述功能整合到一個簡單的 To-Do List 應用程式中。

Sub Process_Globals
    ' 全域變數
End Sub

Sub Globals
    Dim ToDoList As List
End Sub

Sub Activity_Create(FirstTime As Boolean)
    Activity.LoadLayout("MainLayout")
    ToDoList.Initialize
    
    ' 測試新增和顯示功能
    AddToDoItem("學習B4A", "完成第11章的內容")
    AddToDoItem("運動", "晚上去跑步")
    ShowToDoList
    
    ' 測試更新功能
    UpdateToDoItem(1, "學習B4A", "完成第12章的內容", False)
    ShowToDoList
    
    ' 測試刪除功能
    DeleteToDoItem(2)
    ShowToDoList
End Sub

Sub AddToDoItem(title As String, description As String)
    Dim newItem As ToDoItem
    newItem.Initialize
    newItem.ID = ToDoList.Size + 1
    newItem.Title = title
    newItem.Description = description
    newItem.IsCompleted = False
    
    ToDoList.Add(newItem)
    Log("Added: " & newItem.Title)
End Sub

Sub ShowToDoList
    For Each item As ToDoItem In ToDoList
        Log("ID: " & item.ID & ", Title: " & item.Title & ", Completed: " & item.IsCompleted)
    Next
End Sub

Sub UpdateToDoItem(id As Int, newTitle As String, newDescription As String, isCompleted As Boolean)
    For Each item As ToDoItem In ToDoList
        If item.ID = id Then
            item.Title = newTitle
            item.Description = newDescription
            item.IsCompleted = isCompleted
            Log("Updated: " & item.Title)
            Exit
        End If
    Next
End Sub

Sub DeleteToDoItem(id As Int)
    For i = 0 To ToDoList.Size - 1
        Dim item As ToDoItem = ToDoList.Get(i)
        If item.ID = id Then
            ToDoList.RemoveAt(i)
            Log("Deleted: " & item.Title)
            Exit
        End If
    Next
End Sub

這個範例展示了如何使用 B4A 創建一個基本的 To-Do List 應用程式。透過這個應用程式,你可以學習如何設計和操作資料結構,實現基本的增、刪、改、查功能,並將這些技能應用到更複雜的應用程式開發中。

參考網址
https://www.b4x.com/teach.html
https://www.b4x.com/learn.html


上一篇
Basic30天學會行動App-第10章.App資料存取與儲存
下一篇
Basic30天學會行動App-第12章.使用B4X Libraries擴展功能
系列文
用最接近自然語言的Basic30天學會行動App30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言